import webbrowser
import json
from utils import load_config, is_valid_url

# 显示快捷方式菜单
def show_menu(shortcuts):
    print('\n=== 快捷方式菜单 ===')
    for key, url in shortcuts.items():
        print(f'{key}: {url}')
    print('\n输入快捷方式名称跳转，或输入自定义 URL。')
    print('输入 "add" 添加新的快捷方式。')
    print('输入 "exit" 退出程序。\n')

# 添加新的快捷方式
def add_shortcut(shortcuts):
    name = input('请输入快捷方式名称: ')
    url = input('请输入网页地址: ')
    if is_valid_url(url):
        shortcuts[name] = url
        with open('config.json', 'w', encoding='utf-8') as file:
            json.dump({'shortcuts': shortcuts}, file, indent=4)
        print(f'快捷方式 "{name}" 已添加！')
    else:
        print('无效的 URL，请重试。')

# 主程序
def main():
    shortcuts = load_config()
    while True:
        show_menu(shortcuts)
        user_input = input('请输入: ').strip().lower()
        if user_input == 'exit':
            break
        elif user_input == 'add':
            add_shortcut(shortcuts)
        elif user_input in shortcuts:
            webbrowser.open(shortcuts[user_input])
        elif is_valid_url(user_input):
            webbrowser.open(user_input)
        else:
            print('无效的输入，请重试。')

if __name__ == '__main__':
    main()
